ASP.Net, C# .Net

Convert.ToInt32(), Int32.Parse() ve Int32.TryParse() Farklılıkları


Merhabalar, Bu makalemde Convert.ToInt32() , Int32.Parse() ve Int32.TryParse() Farklılıkları’na değineceğim. String tipindeki bir değişkeninizi Integer veri tipine dönüştürürken genelde Convert.ToInt32() Method ve Sınıfını kullanırız. Fakat bu yöntem bazı durumlarda hatalar verecektir.

Method ve Sınıflarımızı örneklerle inceleyelim; ilk olarak dört adet değişken belirleyelim, Değişkenlerin hepsi String veri tipinden değişik veriler içersin.

Degişkenler
Degişkenler

Convert.ToInt32(); Değer Null olarak geldiğinde sıfır olarak döndürülür. Yukarda ki resmi inceleyerek anlatacak olursak erkan2 değişkeni Format dışarısında olduğu için Convert.Int32() ile döndürülemez bu nedenle uygulandığında FormatException hatası belirir. erkan3 değişkenine bakacak olursak içerisindeki veri Maxvalue değerini aşıyor. Bu nedenle uygulandığında OverFlowException hatası ile karşılaşacaksınız. Şimdi soracaksınız MaxValue ve MinValue Nedir?

– MaxValue: Dokuz basamaklı maksimum değerdir.(örn:999999999)
– MinValue: MaxValue’nin tam tersi eksi yönde dokuz basamaklı minimum değerdir.
(örn: -999999999)

erkan4 değişkenine baktığımızda Convert.Int32() formatlarına uygun veri içeriyor bu nedenle uygulandığında veri tipi Integer’a sorunsuz olarak dönecektir. Basit bir uygulamasını yapalım;

Convert.ToInt32();
Convert.ToInt32();

Int32.Parse(); Değer Null olarak geldiğinde ArgumentNullException hatası ile karşılaşılır. Eğer değer Integer değilse FormatException hatası ile karşılaşılır. Değişken içerisindeki veri Maxvalue değerini aşıyorsa veya MinValue değerinin altında ise uygulandığında OverFlowException hatası ile karşılaşacaksınız. MaxValue ve MinValue değerlerini yukarıda açıkladım.
Int32.Parse(); ile basit bir uygulama yapalım;
Int32.Parse();
Int32.Parse();

Int32.TryParse(); Değişken Null veya Integer olmayan bir tipte geliyor ise sıfır olarak döndürülür. MaxValue veya MinValue belirtilmemiştir bu nedenle diğer dönüştürme metotlarında karşılaştığımız tüm hatalar Int32.TryParse(); ile sıfır olarak döndürülür.
Bu sebepten dolayı diğerlerine göre daha iyi ve daha faydalıdır.Riskleri en aza indirir.Basit bir örnek ile açıklayalım;
Int32.TryParse();
Int32.TryParse();

Bu makaleninde sonuna geldik, bir başka makalemde görüşmek üzere .Net ile kalın 🙂

Kaynak : http://www.codeproject.com

Erkan GÜZELKÜÇÜK
Web Yazılım Geliştirmeni
erkanguzelkucuk(at)hotmail.com
Twitter: erkanguzelkucuk

Convert.ToInt32(), Int32.Parse() ve Int32.TryParse() Farklılıkları” üzerine 4 yorum

Yorum bırakın